package MyString;

public interface IString {
    // 串数据结构

    // 将串变为空串
    public void clear();
    // 判断是否为空串
    public boolean isEmpty();
    // 返回串的长度
    public int length();
    // 读取并且返回串中第i个元素
    public char charAt(int i) throws Exception;
    // 返回从 begin 到 end-1 的子串
    public IString subString(int begin, int end);
    // 在第i个字符之前插入 str
    public void insert(int i, IString str) throws Exception;
    // 删除位序号从 begin 到 end-1 的字符串
    public void delete(int begin, int end);
    // 将str 链接到字符串的后面
    public void concat(IString str) throws Exception;
    // 比较str 与当前字符串的大小
    public int compareTo(IString str) throws Exception;
    // 从位序号为begin的字符串开始搜索str相等的字符串
    public int indexOf(IString str, int begin);
    // 将串的长度变成newCapacity 长度
    public void allocate(int newCapacity);
}
